#ifndef ENGINE_H
#define ENGINE_H

#include "Object.h"


class Engine
{
public:
    Engine(void);
    ~Engine(void);

    bool init(void* hInstance);
    void shutdown(void);
    void loop(void);
    void drawScene(void);
    void drawQuad(void);
    Object& addObject(void);

    static int loadTexture( const char* filename );

protected:

    void resizeWindow( unsigned int width, unsigned int height );
    void enableOpenGL(void);

#ifdef WIN32
    static bool createWindowClass(HINSTANCE hInstance);
    static LRESULT CALLBACK windowProcCallback(HWND, UINT, WPARAM, LPARAM);


    HWND hwnd;
    HGLRC hRC;
    HDC hDC;
#endif

    bool running;
    unsigned int width;
    unsigned int height;
    ILuint imageID;


    std::vector<Object> objetos;
};

#endif // ENGINE_H
